/**
 * <strong>Title : PartDao.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.em.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年11月6日 上午10:31:25<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.em.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.em.model.Part;
import cn.b.sky.mes.em.model.condition.PartCondition;

/**
 * <strong>Title : PartDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.dao<br></strong>
 * <strong>Description : </strong>@类注释说明写在此处@<br> 
 * <strong>Create on : 2015年11月6日 上午10:31:25<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface PartDao {

  /**
   * <strong>Title : selectPartListByCondition<br></strong>
   * <strong>Description : </strong>根据查询条件获得备件列表<br> 
   * <strong>Create on : 2015年11月6日 上午10:42:59<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Part>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Part> selectPartListByCondition(PartCondition condition);

  /**
   * <strong>Title : selectPartCountByCondition<br></strong>
   * <strong>Description : </strong>根据查询条件获得备件总数<br> 
   * <strong>Create on : 2015年11月6日 上午10:43:49<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectPartCountByCondition(PartCondition condition);

  /**
   * <strong>Title : getPart<br></strong>
   * <strong>Description : </strong>根据partCode获得备件实体<br> 
   * <strong>Create on : 2015年11月6日 上午10:44:14<br></strong>
   * <p>
   * @param partCode
   * @param siteCode
   * @return
   * Part
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  Part getPart(@Param("partCode") String partCode, @Param("siteCode") String siteCode);

  /**
   * <strong>Title : updatePart<br></strong>
   * <strong>Description : </strong>更新备件实体<br> 
   * <strong>Create on : 2015年11月6日 上午10:44:43<br></strong>
   * <p>
   * @param part
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updatePart(Part part);

  /**
   * <strong>Title : insertPart<br></strong>
   * <strong>Description : </strong>新增备件<br> 
   * <strong>Create on : 2015年11月6日 上午10:45:04<br></strong>
   * <p>
   * @param part
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertPart(Part part);

  /**
   * <strong>Title : deletePart<br></strong>
   * <strong>Description : </strong>删除备件<br> 
   * <strong>Create on : 2015年11月6日 上午10:45:22<br></strong>
   * <p>
   * @param partCode
   * @param siteCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deletePart(@Param("partCode") String partCode, @Param("siteCode") String siteCode);

  /**
   * 
   * <strong>Title : selectPartListForSuggest<br></strong>
   * <strong>Description : </strong>搜索建议查询备件<br> 
   * <strong>Create on : 2016年4月11日 下午7:54:47<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Part>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Part> selectPartListForSuggest(PartCondition condition);

}
